typedef struct BNode
{
    int index;
    char value;
    struct BNode* leftChild;
    struct BNode* rightChild;
} Node;

Node* CreateTree(Node* root);

void preorder(Node* tree);
void preorder_stack(Node* tree);
void midorder(Node* tree);
void midorder_stack(Node* tree);
void postorder(Node* tree);
void postorder_stack(Node* tree);
